home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / perl / mac-perl / gdbm15st.bin / gdbm / update.c < prev    next >
MacBinary  |  1992-04-05  |  4.0 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Sun Apr 5 14:01:17 1992, modified Sun Apr 5 14:01:17 1992, creator 'MPS ', type ASCII, 3415 bytes "update.c" , at 0xdd7 428 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 08 75 70 64 61 74 65 | 2e 63 00 00 00 00 00 00 |..update|.c......|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 00 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 0d 57 00 | 00 01 ac a6 04 f0 ed a6 |......W.|........|
|00000060| 04 f0 ed 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 dd 79 00 00 |........|.....y..|
|00000080| 2f 2a 20 75 70 64 61 74 | 65 2e 63 20 2d 20 54 68 |/* updat|e.c - Th|
|00000090| 65 20 72 6f 75 74 69 6e | 65 73 20 66 6f 72 20 75 |e routin|es for u|
|000000a0| 70 64 61 74 69 6e 67 20 | 74 68 65 20 66 69 6c 65 |pdating |the file|
|000000b0| 20 74 6f 20 61 20 63 6f | 6e 73 69 73 74 65 6e 74 | to a co|nsistent|
|000000c0| 20 73 74 61 74 65 2e 20 | 2a 2f 0d 0d 2f 2a 20 20 | state. |*/../* |
|000000d0| 54 68 69 73 20 66 69 6c | 65 20 69 73 20 70 61 72 |This fil|e is par|
|000000e0| 74 20 6f 66 20 47 44 42 | 4d 2c 20 74 68 65 20 47 |t of GDB|M, the G|
|000000f0| 4e 55 20 64 61 74 61 20 | 62 61 73 65 20 6d 61 6e |NU data |base man|
|00000100| 61 67 65 72 2c 20 62 79 | 20 50 68 69 6c 69 70 20 |ager, by| Philip |
|00000110| 41 2e 20 4e 65 6c 73 6f | 6e 2e 0d 20 20 20 20 43 |A. Nelso|n.. C|
|00000120| 6f 70 79 72 69 67 68 74 | 20 28 43 29 20 31 39 39 |opyright| (C) 199|
|00000130| 30 2c 20 31 39 39 31 20 | 20 46 72 65 65 20 53 6f |0, 1991 | Free So|
|00000140| 66 74 77 61 72 65 20 46 | 6f 75 6e 64 61 74 69 6f |ftware F|oundatio|
|00000150| 6e 2c 20 49 6e 63 2e 0d | 0d 20 20 20 20 47 44 42 |n, Inc..|. GDB|
|00000160| 4d 20 69 73 20 66 72 65 | 65 20 73 6f 66 74 77 61 |M is fre|e softwa|
|00000170| 72 65 3b 20 79 6f 75 20 | 63 61 6e 20 72 65 64 69 |re; you |can redi|
|00000180| 73 74 72 69 62 75 74 65 | 20 69 74 20 61 6e 64 2f |stribute| it and/|
|00000190| 6f 72 20 6d 6f 64 69 66 | 79 0d 20 20 20 20 69 74 |or modif|y. it|
|000001a0| 20 75 6e 64 65 72 20 74 | 68 65 20 74 65 72 6d 73 | under t|he terms|
|000001b0| 20 6f 66 20 74 68 65 20 | 47 4e 55 20 47 65 6e 65 | of the |GNU Gene|
|000001c0| 72 61 6c 20 50 75 62 6c | 69 63 20 4c 69 63 65 6e |ral Publ|ic Licen|
|000001d0| 73 65 20 61 73 20 70 75 | 62 6c 69 73 68 65 64 20 |se as pu|blished |
|000001e0| 62 79 0d 20 20 20 20 74 | 68 65 20 46 72 65 65 20 |by. t|he Free |
|000001f0| 53 6f 66 74 77 61 72 65 | 20 46 6f 75 6e 64 61 74 |Software| Foundat|
|00000200| 69 6f 6e 3b 20 65 69 74 | 68 65 72 20 76 65 72 73 |ion; eit|her vers|
|00000210| 69 6f 6e 20 31 2c 20 6f | 72 20 28 61 74 20 79 6f |ion 1, o|r (at yo|
|00000220| 75 72 20 6f 70 74 69 6f | 6e 29 0d 20 20 20 20 61 |ur optio|n). a|
|00000230| 6e 79 20 6c 61 74 65 72 | 20 76 65 72 73 69 6f 6e |ny later| version|
|00000240| 2e 0d 0d 20 20 20 20 47 | 44 42 4d 20 69 73 20 64 |... G|DBM is d|
|00000250| 69 73 74 72 69 62 75 74 | 65 64 20 69 6e 20 74 68 |istribut|ed in th|
|00000260| 65 20 68 6f 70 65 20 74 | 68 61 74 20 69 74 20 77 |e hope t|hat it w|
|00000270| 69 6c 6c 20 62 65 20 75 | 73 65 66 75 6c 2c 0d 20 |ill be u|seful,. |
|00000280| 20 20 20 62 75 74 20 57 | 49 54 48 4f 55 54 20 41 | but W|ITHOUT A|
|00000290| 4e 59 20 57 41 52 52 41 | 4e 54 59 3b 20 77 69 74 |NY WARRA|NTY; wit|
|000002a0| 68 6f 75 74 20 65 76 65 | 6e 20 74 68 65 20 69 6d |hout eve|n the im|
|000002b0| 70 6c 69 65 64 20 77 61 | 72 72 61 6e 74 79 20 6f |plied wa|rranty o|
|000002c0| 66 0d 20 20 20 20 4d 45 | 52 43 48 41 4e 54 41 42 |f. ME|RCHANTAB|
|000002d0| 49 4c 49 54 59 20 6f 72 | 20 46 49 54 4e 45 53 53 |ILITY or| FITNESS|
|000002e0| 20 46 4f 52 20 41 20 50 | 41 52 54 49 43 55 4c 41 | FOR A P|ARTICULA|
|000002f0| 52 20 50 55 52 50 4f 53 | 45 2e 20 20 53 65 65 20 |R PURPOS|E. See |
|00000300| 74 68 65 0d 20 20 20 20 | 47 4e 55 20 47 65 6e 65 |the. |GNU Gene|
|00000310| 72 61 6c 20 50 75 62 6c | 69 63 20 4c 69 63 65 6e |ral Publ|ic Licen|
|00000320| 73 65 20 66 6f 72 20 6d | 6f 72 65 20 64 65 74 61 |se for m|ore deta|
|00000330| 69 6c 73 2e 0d 0d 20 20 | 20 20 59 6f 75 20 73 68 |ils... | You sh|
|00000340| 6f 75 6c 64 20 68 61 76 | 65 20 72 65 63 65 69 76 |ould hav|e receiv|
|00000350| 65 64 20 61 20 63 6f 70 | 79 20 6f 66 20 74 68 65 |ed a cop|y of the|
|00000360| 20 47 4e 55 20 47 65 6e | 65 72 61 6c 20 50 75 62 | GNU Gen|eral Pub|
|00000370| 6c 69 63 20 4c 69 63 65 | 6e 73 65 0d 20 20 20 20 |lic Lice|nse. |
|00000380| 61 6c 6f 6e 67 20 77 69 | 74 68 20 47 44 42 4d 3b |along wi|th GDBM;|
|00000390| 20 73 65 65 20 74 68 65 | 20 66 69 6c 65 20 43 4f | see the| file CO|
|000003a0| 50 59 49 4e 47 2e 20 20 | 49 66 20 6e 6f 74 2c 20 |PYING. |If not, |
|000003b0| 77 72 69 74 65 20 74 6f | 0d 20 20 20 20 74 68 65 |write to|. the|
|000003c0| 20 46 72 65 65 20 53 6f | 66 74 77 61 72 65 20 46 | Free So|ftware F|
|000003d0| 6f 75 6e 64 61 74 69 6f | 6e 2c 20 36 37 35 20 4d |oundatio|n, 675 M|
|000003e0| 61 73 73 20 41 76 65 2c | 20 43 61 6d 62 72 69 64 |ass Ave,| Cambrid|
|000003f0| 67 65 2c 20 4d 41 20 30 | 32 31 33 39 2c 20 55 53 |ge, MA 0|2139, US|
|00000400| 41 2e 0d 0d 20 20 20 20 | 59 6f 75 20 6d 61 79 20 |A... |You may |
|00000410| 63 6f 6e 74 61 63 74 20 | 74 68 65 20 61 75 74 68 |contact |the auth|
|00000420| 6f 72 20 62 79 3a 0d 20 | 20 20 20 20 20 20 65 2d |or by:. | e-|
|00000430| 6d 61 69 6c 3a 20 20 70 | 68 69 6c 40 63 73 2e 77 |mail: p|hil@cs.w|
|00000440| 77 75 2e 65 64 75 0d 20 | 20 20 20 20 20 75 73 2d |wu.edu. | us-|
|00000450| 6d 61 69 6c 3a 20 20 50 | 68 69 6c 69 70 20 41 2e |mail: P|hilip A.|
|00000460| 20 4e 65 6c 73 6f 6e 0d | 20 20 20 20 20 20 20 20 | Nelson.| |
|00000470| 20 20 20 20 20 20 20 20 | 43 6f 6d 70 75 74 65 72 | |Computer|
|00000480| 20 53 63 69 65 6e 63 65 | 20 44 65 70 61 72 74 6d | Science| Departm|
|00000490| 65 6e 74 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |ent. | |
|000004a0| 20 20 20 20 57 65 73 74 | 65 72 6e 20 57 61 73 68 | West|ern Wash|
|000004b0| 69 6e 67 74 6f 6e 20 55 | 6e 69 76 65 72 73 69 74 |ington U|niversit|
|000004c0| 79 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |y. | |
|000004d0| 20 20 42 65 6c 6c 69 6e | 67 68 61 6d 2c 20 57 41 | Bellin|gham, WA|
|000004e0| 20 39 38 32 32 36 0d 20 | 20 20 20 20 20 20 20 70 | 98226. | p|
|000004f0| 68 6f 6e 65 3a 20 20 28 | 32 30 36 29 20 36 37 36 |hone: (|206) 676|
|00000500| 2d 33 30 33 35 0d 20 20 | 20 20 20 20 20 0d 2a 2a |-3035. | .**|
|00000510| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000520| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000530| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000540| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000550| 2a 2a 2a 2a 2a 2a 2a 2f | 0d 0d 0d 23 69 6e 63 6c |*******/|...#incl|
|00000560| 75 64 65 20 22 67 64 62 | 6d 64 65 66 73 2e 68 22 |ude "gdb|mdefs.h"|
|00000570| 0d 0d 0d 2f 2a 20 54 68 | 69 73 20 70 72 6f 63 65 |.../* Th|is proce|
|00000580| 64 75 72 65 20 77 72 69 | 74 65 73 20 74 68 65 20 |dure wri|tes the |
|00000590| 68 65 61 64 65 72 20 62 | 61 63 6b 20 74 6f 20 74 |header b|ack to t|
|000005a0| 68 65 20 66 69 6c 65 20 | 64 65 73 63 72 69 62 65 |he file |describe|
|000005b0| 64 20 62 79 20 44 42 46 | 2e 20 2a 2f 0d 0d 73 74 |d by DBF|. */..st|
|000005c0| 61 74 69 63 20 0d 77 72 | 69 74 65 5f 68 65 61 64 |atic .wr|ite_head|
|000005d0| 65 72 20 28 64 62 66 29 | 0d 20 20 20 20 20 67 64 |er (dbf)|. gd|
|000005e0| 62 6d 5f 66 69 6c 65 5f | 69 6e 66 6f 20 2a 64 62 |bm_file_|info *db|
|000005f0| 66 3b 0d 7b 0d 20 20 69 | 6e 74 20 20 6e 75 6d 5f |f;.{. i|nt num_|
|00000600| 62 79 74 65 73 3b 09 2f | 2a 20 52 65 74 75 72 6e |bytes;./|* Return|
|00000610| 20 76 61 6c 75 65 20 66 | 6f 72 20 77 72 69 74 65 | value f|or write|
|00000620| 2e 20 2a 2f 0d 20 20 6c | 6f 6e 67 20 66 69 6c 65 |. */. l|ong file|
|00000630| 5f 70 6f 73 3b 09 2f 2a | 20 52 65 74 75 72 6e 20 |_pos;./*| Return |
|00000640| 76 61 6c 75 65 20 66 6f | 72 20 6c 73 65 65 6b 2e |value fo|r lseek.|
|00000650| 20 2a 2f 0d 0d 20 20 66 | 69 6c 65 5f 70 6f 73 20 | */.. f|ile_pos |
|00000660| 3d 20 6c 73 65 65 6b 20 | 28 64 62 66 2d 3e 64 65 |= lseek |(dbf->de|
|00000670| 73 63 2c 20 30 2c 20 4c | 5f 53 45 54 29 3b 0d 20 |sc, 0, L|_SET);. |
|00000680| 20 69 66 20 28 66 69 6c | 65 5f 70 6f 73 20 21 3d | if (fil|e_pos !=|
|00000690| 20 30 29 20 5f 67 64 62 | 6d 5f 66 61 74 61 6c 20 | 0) _gdb|m_fatal |
|000006a0| 28 64 62 66 2c 20 22 6c | 73 65 65 6b 20 65 72 72 |(dbf, "l|seek err|
|000006b0| 6f 72 22 29 3b 0d 20 20 | 6e 75 6d 5f 62 79 74 65 |or");. |num_byte|
|000006c0| 73 20 3d 20 77 72 69 74 | 65 20 28 64 62 66 2d 3e |s = writ|e (dbf->|
|000006d0| 64 65 73 63 2c 20 28 63 | 68 61 72 20 2a 29 20 64 |desc, (c|har *) d|
|000006e0| 62 66 2d 3e 68 65 61 64 | 65 72 2c 20 64 62 66 2d |bf->head|er, dbf-|
|000006f0| 3e 68 65 61 64 65 72 2d | 3e 62 6c 6f 63 6b 5f 73 |>header-|>block_s|
|00000700| 69 7a 65 29 3b 0d 20 20 | 69 66 20 28 6e 75 6d 5f |ize);. |if (num_|
|00000710| 62 79 74 65 73 20 21 3d | 20 64 62 66 2d 3e 68 65 |bytes !=| dbf->he|
|00000720| 61 64 65 72 2d 3e 62 6c | 6f 63 6b 5f 73 69 7a 65 |ader->bl|ock_size|
|00000730| 29 0d 20 20 20 20 5f 67 | 64 62 6d 5f 66 61 74 61 |). _g|dbm_fata|
|00000740| 6c 20 28 64 62 66 2c 20 | 22 77 72 69 74 65 20 65 |l (dbf, |"write e|
|00000750| 72 72 6f 72 22 29 3b 0d | 0d 20 20 2f 2a 20 57 61 |rror");.|. /* Wa|
|00000760| 69 74 20 66 6f 72 20 61 | 6c 6c 20 6f 75 74 70 75 |it for a|ll outpu|
|00000770| 74 20 74 6f 20 62 65 20 | 64 6f 6e 65 2e 20 2a 2f |t to be |done. */|
|00000780| 0d 20 20 66 73 79 6e 63 | 20 28 64 62 66 2d 3e 64 |. fsync| (dbf->d|
|00000790| 65 73 63 29 3b 0d 7d 0d | 0d 0d 2f 2a 20 41 66 74 |esc);.}.|../* Aft|
|000007a0| 65 72 20 61 6c 6c 20 63 | 68 61 6e 67 65 73 20 68 |er all c|hanges h|
|000007b0| 61 76 65 20 62 65 65 6e | 20 6d 61 64 65 20 69 6e |ave been| made in|
|000007c0| 20 6d 65 6d 6f 72 79 2c | 20 77 65 20 6e 6f 77 20 | memory,| we now |
|000007d0| 77 72 69 74 65 20 74 68 | 65 6d 0d 20 20 20 61 6c |write th|em. al|
|000007e0| 6c 20 74 6f 20 64 69 73 | 6b 2e 20 2a 2f 0d 5f 67 |l to dis|k. */._g|
|000007f0| 64 62 6d 5f 65 6e 64 5f | 75 70 64 61 74 65 20 28 |dbm_end_|update (|
|00000800| 64 62 66 29 0d 20 20 20 | 20 20 67 64 62 6d 5f 66 |dbf). | gdbm_f|
|00000810| 69 6c 65 5f 69 6e 66 6f | 20 2a 64 62 66 3b 0d 7b |ile_info| *dbf;.{|
|00000820| 0d 20 20 69 6e 74 20 20 | 6e 75 6d 5f 62 79 74 65 |. int |num_byte|
|00000830| 73 3b 09 2f 2a 20 52 65 | 74 75 72 6e 20 76 61 6c |s;./* Re|turn val|
|00000840| 75 65 20 66 6f 72 20 77 | 72 69 74 65 2e 20 2a 2f |ue for w|rite. */|
|00000850| 0d 20 20 6c 6f 6e 67 20 | 66 69 6c 65 5f 70 6f 73 |. long |file_pos|
|00000860| 3b 09 2f 2a 20 52 65 74 | 75 72 6e 20 76 61 6c 75 |;./* Ret|urn valu|
|00000870| 65 20 66 6f 72 20 6c 73 | 65 65 6b 2e 20 2a 2f 0d |e for ls|eek. */.|
|00000880| 20 20 0d 20 20 0d 20 20 | 2f 2a 20 57 72 69 74 65 | . . |/* Write|
|00000890| 20 74 68 65 20 63 75 72 | 72 65 6e 74 20 62 75 63 | the cur|rent buc|
|000008a0| 6b 65 74 2e 20 2a 2f 0d | 20 20 69 66 20 28 64 62 |ket. */.| if (db|
|000008b0| 66 2d 3e 62 75 63 6b 65 | 74 5f 63 68 61 6e 67 65 |f->bucke|t_change|
|000008c0| 64 29 0d 20 20 20 20 7b | 0d 20 20 20 20 20 20 5f |d). {|. _|
|000008d0| 67 64 62 6d 5f 77 72 69 | 74 65 5f 62 75 63 6b 65 |gdbm_wri|te_bucke|
|000008e0| 74 20 28 64 62 66 2c 20 | 64 62 66 2d 3e 63 61 63 |t (dbf, |dbf->cac|
|000008f0| 68 65 5f 65 6e 74 72 79 | 29 3b 0d 20 20 20 20 20 |he_entry|);. |
|00000900| 20 64 62 66 2d 3e 62 75 | 63 6b 65 74 5f 63 68 61 | dbf->bu|cket_cha|
|00000910| 6e 67 65 64 20 3d 20 46 | 41 4c 53 45 3b 0d 20 20 |nged = F|ALSE;. |
|00000920| 20 20 7d 0d 0d 20 20 2f | 2a 20 57 72 69 74 65 20 | }.. /|* Write |
|00000930| 74 68 65 20 6f 74 68 65 | 72 20 63 68 61 6e 67 65 |the othe|r change|
|00000940| 64 20 62 75 63 6b 65 74 | 73 20 69 66 20 74 68 65 |d bucket|s if the|
|00000950| 72 65 20 61 72 65 20 61 | 6e 79 2e 20 2a 2f 0d 20 |re are a|ny. */. |
|00000960| 20 69 66 20 28 64 62 66 | 2d 3e 73 65 63 6f 6e 64 | if (dbf|->second|
|00000970| 5f 63 68 61 6e 67 65 64 | 29 0d 20 20 20 20 7b 0d |_changed|). {.|
|00000980| 20 20 20 20 20 20 69 6e | 74 20 69 6e 64 65 78 3b | in|t index;|
|00000990| 0d 0d 20 20 20 20 20 20 | 66 6f 72 20 28 69 6e 64 |.. |for (ind|
|000009a0| 65 78 20 3d 20 30 3b 20 | 69 6e 64 65 78 20 3c 20 |ex = 0; |index < |
|000009b0| 43 41 43 48 45 5f 53 49 | 5a 45 3b 20 69 6e 64 65 |CACHE_SI|ZE; inde|
|000009c0| 78 2b 2b 29 0d 09 69 66 | 20 28 64 62 66 2d 3e 62 |x++)..if| (dbf->b|
|000009d0| 75 63 6b 65 74 5f 63 61 | 63 68 65 5b 69 6e 64 65 |ucket_ca|che[inde|
|000009e0| 78 5d 2e 63 61 5f 63 68 | 61 6e 67 65 64 29 0d 09 |x].ca_ch|anged)..|
|000009f0| 20 20 7b 0d 09 20 20 20 | 20 5f 67 64 62 6d 5f 77 | {.. | _gdbm_w|
|00000a00| 72 69 74 65 5f 62 75 63 | 6b 65 74 20 28 64 62 66 |rite_buc|ket (dbf|
|00000a10| 2c 20 26 64 62 66 2d 3e | 62 75 63 6b 65 74 5f 63 |, &dbf->|bucket_c|
|00000a20| 61 63 68 65 5b 69 6e 64 | 65 78 5d 29 3b 0d 09 20 |ache[ind|ex]);.. |
|00000a30| 20 7d 0d 20 20 20 20 20 | 20 64 62 66 2d 3e 73 65 | }. | dbf->se|
|00000a40| 63 6f 6e 64 5f 63 68 61 | 6e 67 65 64 20 3d 20 46 |cond_cha|nged = F|
|00000a50| 41 4c 53 45 3b 0d 20 20 | 20 20 7d 0d 20 20 0d 20 |ALSE;. | }. . |
|00000a60| 20 2f 2a 20 57 72 69 74 | 65 20 74 68 65 20 64 69 | /* Writ|e the di|
|00000a70| 72 65 63 74 6f 72 79 2e | 20 2a 2f 0d 20 20 69 66 |rectory.| */. if|
|00000a80| 20 28 64 62 66 2d 3e 64 | 69 72 65 63 74 6f 72 79 | (dbf->d|irectory|
|00000a90| 5f 63 68 61 6e 67 65 64 | 29 0d 20 20 20 20 7b 0d |_changed|). {.|
|00000aa0| 20 20 20 20 20 20 66 69 | 6c 65 5f 70 6f 73 20 3d | fi|le_pos =|
|00000ab0| 20 6c 73 65 65 6b 20 28 | 64 62 66 2d 3e 64 65 73 | lseek (|dbf->des|
|00000ac0| 63 2c 20 64 62 66 2d 3e | 68 65 61 64 65 72 2d 3e |c, dbf->|header->|
|00000ad0| 64 69 72 2c 20 4c 5f 53 | 45 54 29 3b 0d 20 20 20 |dir, L_S|ET);. |
|00000ae0| 20 20 20 69 66 20 28 66 | 69 6c 65 5f 70 6f 73 20 | if (f|ile_pos |
|00000af0| 21 3d 20 64 62 66 2d 3e | 68 65 61 64 65 72 2d 3e |!= dbf->|header->|
|00000b00| 64 69 72 29 20 5f 67 64 | 62 6d 5f 66 61 74 61 6c |dir) _gd|bm_fatal|
|00000b10| 20 28 64 62 66 2c 20 22 | 6c 73 65 65 6b 20 65 72 | (dbf, "|lseek er|
|00000b20| 72 6f 72 22 29 3b 0d 20 | 20 20 20 20 20 6e 75 6d |ror");. | num|
|00000b30| 5f 62 79 74 65 73 20 3d | 20 77 72 69 74 65 20 28 |_bytes =| write (|
|00000b40| 64 62 66 2d 3e 64 65 73 | 63 2c 20 28 63 68 61 72 |dbf->des|c, (char|
|00000b50| 20 2a 29 20 64 62 66 2d | 3e 64 69 72 2c 20 64 62 | *) dbf-|>dir, db|
|00000b60| 66 2d 3e 68 65 61 64 65 | 72 2d 3e 64 69 72 5f 73 |f->heade|r->dir_s|
|00000b70| 69 7a 65 29 3b 0d 20 20 | 20 20 20 20 69 66 20 28 |ize);. | if (|
|00000b80| 6e 75 6d 5f 62 79 74 65 | 73 20 21 3d 20 64 62 66 |num_byte|s != dbf|
|00000b90| 2d 3e 68 65 61 64 65 72 | 2d 3e 64 69 72 5f 73 69 |->header|->dir_si|
|00000ba0| 7a 65 29 0d 09 5f 67 64 | 62 6d 5f 66 61 74 61 6c |ze).._gd|bm_fatal|
|00000bb0| 20 28 64 62 66 2c 20 22 | 77 72 69 74 65 20 65 72 | (dbf, "|write er|
|00000bc0| 72 6f 72 22 29 3b 0d 20 | 20 20 20 20 20 64 62 66 |ror");. | dbf|
|00000bd0| 2d 3e 64 69 72 65 63 74 | 6f 72 79 5f 63 68 61 6e |->direct|ory_chan|
|00000be0| 67 65 64 20 3d 20 46 41 | 4c 53 45 3b 0d 20 20 20 |ged = FA|LSE;. |
|00000bf0| 20 20 20 69 66 20 28 21 | 64 62 66 2d 3e 68 65 61 | if (!|dbf->hea|
|00000c00| 64 65 72 5f 63 68 61 6e | 67 65 64 29 20 66 73 79 |der_chan|ged) fsy|
|00000c10| 6e 63 20 28 64 62 66 2d | 3e 64 65 73 63 29 3b 0d |nc (dbf-|>desc);.|
|00000c20| 20 20 20 20 7d 0d 0d 20 | 20 2f 2a 20 46 69 6e 61 | }.. | /* Fina|
|00000c30| 6c 20 77 72 69 74 65 20 | 6f 66 20 74 68 65 20 68 |l write |of the h|
|00000c40| 65 61 64 65 72 2e 20 2a | 2f 0d 20 20 69 66 20 28 |eader. *|/. if (|
|00000c50| 64 62 66 2d 3e 68 65 61 | 64 65 72 5f 63 68 61 6e |dbf->hea|der_chan|
|00000c60| 67 65 64 29 0d 20 20 20 | 20 7b 0d 20 20 20 20 20 |ged). | {. |
|00000c70| 20 77 72 69 74 65 5f 68 | 65 61 64 65 72 20 28 64 | write_h|eader (d|
|00000c80| 62 66 29 3b 0d 20 20 20 | 20 20 20 64 62 66 2d 3e |bf);. | dbf->|
|00000c90| 68 65 61 64 65 72 5f 63 | 68 61 6e 67 65 64 20 3d |header_c|hanged =|
|00000ca0| 20 46 41 4c 53 45 3b 0d | 20 20 20 20 7d 0d 7d 0d | FALSE;.| }.}.|
|00000cb0| 0d 0d 2f 2a 20 49 66 20 | 61 20 66 61 74 61 6c 20 |../* If |a fatal |
|00000cc0| 65 72 72 6f 72 20 69 73 | 20 64 65 74 65 63 74 65 |error is| detecte|
|00000cd0| 64 2c 20 63 6f 6d 65 20 | 68 65 72 65 20 61 6e 64 |d, come |here and|
|00000ce0| 20 65 78 69 74 2e 20 56 | 41 4c 20 74 65 6c 6c 73 | exit. V|AL tells|
|00000cf0| 20 77 68 69 63 68 20 66 | 61 74 61 6c 0d 20 20 20 | which f|atal. |
|00000d00| 65 72 72 6f 72 20 6f 63 | 63 75 72 65 64 2e 20 2a |error oc|cured. *|
|00000d10| 2f 0d 5f 67 64 62 6d 5f | 66 61 74 61 6c 20 28 64 |/._gdbm_|fatal (d|
|00000d20| 62 66 2c 20 76 61 6c 29 | 0d 20 20 20 20 20 67 64 |bf, val)|. gd|
|00000d30| 62 6d 5f 66 69 6c 65 5f | 69 6e 66 6f 20 2a 64 62 |bm_file_|info *db|
|00000d40| 66 3b 0d 20 20 20 20 20 | 63 68 61 72 20 2a 76 61 |f;. |char *va|
|00000d50| 6c 3b 0d 7b 0d 20 20 69 | 66 20 28 64 62 66 2d 3e |l;.{. i|f (dbf->|
|00000d60| 66 61 74 61 6c 5f 65 72 | 72 20 21 3d 20 4e 55 4c |fatal_er|r != NUL|
|00000d70| 4c 29 0d 20 20 20 20 28 | 2a 64 62 66 2d 3e 66 61 |L). (|*dbf->fa|
|00000d80| 74 61 6c 5f 65 72 72 29 | 20 28 76 61 6c 29 3b 0d |tal_err)| (val);.|
|00000d90| 20 20 65 6c 73 65 0d 20 | 20 20 20 66 70 72 69 6e | else. | fprin|
|00000da0| 74 66 20 28 73 74 64 65 | 72 72 2c 20 22 67 64 62 |tf (stde|rr, "gdb|
|00000db0| 6d 20 66 61 74 61 6c 3a | 20 25 73 2e 5c 6e 22 2c |m fatal:| %s.\n",|
|00000dc0| 20 76 61 6c 29 3b 0d 20 | 20 65 78 69 74 20 28 2d | val);. | exit (-|
|00000dd0| 31 29 3b 0d 7d 0d 0d 00 | 00 00 00 00 00 00 00 00 |1);.}...|........|
|00000de0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000df0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e00| 00 00 01 00 00 00 01 6e | 00 00 00 6e 00 00 00 3e |.......n|...n...>|
|00000e10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000e20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000e30| 08 75 70 64 61 74 65 2e | 63 00 02 00 00 00 00 00 |.update.|c.......|
|00000e40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e70| 00 00 a6 ea ad 04 00 00 | 0d 57 00 00 01 ac 66 61 |........|.W....fa|
|00000e80| 63 65 20 74 6f 20 74 68 | 65 20 4d 61 63 69 6e 74 |ce to th|e Macint|
|00000e90| 6f 73 68 20 4c 69 62 72 | 61 72 69 65 73 0d 0d 0d |osh Libr|aries...|
|00000ea0| 20 20 43 6f 70 79 72 69 | 67 68 74 20 41 70 70 6c | Copyri|ght Appl|
|00000eb0| 65 20 43 6f 6d 70 75 74 | 65 72 2c 20 49 6e 63 2e |e Comput|er, Inc.|
|00000ec0| 20 31 39 38 35 2d 31 39 | 39 31 0d 20 20 41 6c 6c | 1985-19|91. All|
|00000ed0| 20 72 69 67 68 74 73 20 | 72 65 73 65 72 76 65 64 | rights |reserved|
|00000ee0| 2e 0d 0d 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |...*****|********|
|00000ef0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000f00| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 20 63 6f |...H..Mo|naco. co|
|00000f10| 6e 73 69 73 74 65 6e 74 | 20 73 74 61 74 65 2e 20 |nsistent| state. |
|00000f20| 2a 2f 0d 0d 2f 2a 00 06 | 00 04 00 78 00 18 01 dd |*/../*..|...x....|
|00000f30| 02 3d 00 78 00 18 01 dd | 02 3d a6 04 b8 ad 00 00 |.=.x....|.=......|
|00000f40| 06 5f 00 00 06 5f 00 00 | 05 59 01 00 00 00 00 1e |._..._..|.Y......|
|00000f50| 00 78 00 18 01 dd 02 3d | 00 78 00 18 01 dd 02 3d |.x.....=|.x.....=|
|00000f60| 00 00 05 59 00 00 00 00 | 00 00 00 00 00 00 00 00 |...Y....|........|
|00000f70| 01 00 00 00 01 6e 00 00 | 00 6e 00 00 00 3e 00 54 |.....n..|.n...>.T|
|00000f80| 46 a4 0c dc 00 00 00 1c | 00 3e 00 00 4d 50 53 52 |F.......|.>..MPSR|
|00000f90| 00 01 00 0a 03 ed ff ff | 00 00 00 00 00 00 00 00 |........|........|
|00000fa0| 03 f0 ff ff 00 00 00 4c | 00 5a 6c 6c 00 00 00 00 |.......L|.Zll....|
|00000fb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000fc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000fe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+